Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

ПОСЛІДОВНИЙ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Кафедра САПР

Інформація про роботу

Рік:
2008
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Бази даних

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ Національний університет «Львівська політехніка» Кафедра САПР Звіт Про виконання лабораторної роботи №1 З курсу: «Бази даних» Тема: ПОСЛІДОВНИЙ МЕТОД ДОСТУПУ ДО ФАЙЛІВ НА ЗОВНІШНІХ ЗАПАМ’ЯТОВУЮЧИХ ПРИСТРОЯХ. Мета: Розглянути органiзацiю i ведення файлiв послiдовного доступу; набути практичнi навички у програмуваннi алгоритмiв роботи з файлами послiдовного доступу. Текст програми: #include <iostream.h> #include <conio.h> #include <string.h> #include <stdio.h> #include <math.h> #include <stdlib.h> #define mainSize (sizeof (animalRecord) + 2*9) char mainPath[256] = "dbase.pdb"; char tempPath[] = "$temp.pdb"; char searchPath[] = "$srch.pdb"; char groupPath[] = "$group.tdb"; char keyTab = 1; FILE *dbFile = NULL, *tempFile = NULL, *groupFile = NULL; class animalRecord { public: int ID; int Age; char Pet[40+2]; char ownerName[40+2]; char Illness[40+2]; int price; char notes[40+2]; int isSet; int errorcode; int toDo; void readFile(FILE *CUR = NULL, int toDo = 0); void writeToFile(FILE *CUR = NULL, int toDo = 0); void goToKey(FILE *CUR = NULL); animalRecord(); }; animalRecord::animalRecord() { ID = -1; Age = 0; strcpy (Pet,"-"); strcpy (Name,"-"); strcpy (Illness,"-"); price = 0; strcpy (notes,"-"); errorcode = toDo = isSet = 0; } void animalRecord::writeToFile(FILE* CUR, int toDo) { if (CUR == NULL) return; double cur = 0; int i = 0; cur = ftell(CUR); for (i=0;i<mainSize;i++) { fseek (CUR,cur+i,SEEK_SET); fprintf(CUR," "); } fseek(CUR,cur,SEEK_SET); if(toDo) fprintf(CUR,"%c\n%d\n%d\n%s\n%s\n%s\n%d\n%s\n%d\n",keyTab, this->ID, this->Age, this->Pet, this->Name, this->Illness, this->price, this->notes, this->toDo); else fprintf(CUR,"%c\n%d\n%d\n%s\n%s\n%s\n%d\n%s\n",keyTab, this->ID, this->Age, this->Pet, this->Name, this->Illness, this->price, this->notes); } void animalRecord::readFile(FILE *CUR, int toDo) { animalRecord buf=animalRecord(); int eofflag=0, l, read=0; char cbuf, key=0; buf.isSet=0; do { if(feof(CUR)) { eofflag=1; break; } fscanf(CUR,"%c",&key); } while(key!=keyTab); if(eofflag) { if(!read) { buf.errorcode=1; *this = buf; return; } } //Считування запису-------------------------------------------------------------- fscanf(CUR,"\n%d\n",&buf.ID); fscanf(CUR,"%d\n",&buf.Age); for(l=0, fscanf(CUR,"%c",&cbuf);cbuf!='\n';l++) {buf.Pet[l]=cbuf; fscanf(CUR,"%c",&cbuf);} buf.Pet[l]='\0'; for(l=0, fscanf(CUR,"%c",&cbuf);cbuf!='\n';l++) {buf.Name[l]=cbuf; fscanf(CUR,"%c",&cbuf);} buf.Name[l]='\0'; for(l=0, fscanf(CUR,"%c",&cbuf);cbuf!='\n';l++) {buf.Illness[l]=cbuf; fscanf(CUR,"%c",&cbuf);} buf.Illness[l]='\0'; fscanf(CUR,"%d\n",&buf.price); for(l=0, fscanf(CUR,"%c",&cbuf);cbuf!='\n';l++) {buf.notes[l]=cbuf; fscanf(CUR,"%c",&cbuf);} buf.notes[l]='\0'; if (toDo) fscanf(CUR,"%d\n",&buf.toDo); buf.isSet=1; *this = buf;} void animalRecord::goToKey(FILE *CUR) {int i=0,a;float ad; char key; if((ftell(CUR))>0) fseek(CUR,-1,SEEK_CUR); else{return;} do {ad = ftell(CUR); fscanf(CUR,"%c",&key); fseek(CUR,ad,SEEK_SET); if(key=='\n') a=-2; else a=-1; fseek(CUR,a,SEEK_CUR); }while(key!=keyTab); fseek(CUR,1,SEEK_CUR);} //------------------------------------------------------------------------------ int reccmp(char str1[47], char str2[47], int count); void New(); void Open(); char* SetStr(int); animalRecord Set (animalRecord set = animalRecord () ); void Insert(animalRecord sav=animalRecord(),char* mainPath=::mainPath); void Delete(int ID=-1); void Modify (); void Find (); void Print (); void GroupWork(); int main() {textmode(64); clrscr(); do { cout<<"\n1. Create new DataBase"<< "\n2. Open the DB"<< ...
Антиботан аватар за замовчуванням

17.07.2020 10:07

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини